package com.sort;

public class ShellSort {
    public void sort(int[] arr){
        int len = arr.length;
        int h = 1;
        while(len/2>h){
            h = 2*h+1;  //设置希尔增量
        }
        while(h>0){     //升级版插入排序
            for(int i=h;i<len;i++){
                for(int j=i;j>=h;j=j-h){
                    if(arr[j]<arr[j-h]){
                        int tmp = arr[j];
                        arr[j] = arr[j-h];
                        arr[j-h] = tmp;
                    }
                }
            }
            h=h/2;
        }
    }
}
